package cn.iocoder.yudao.module.carbon.convert.emissionfactor;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.carbon.api.emissionfactor.dto.EmissionFactorPageReqDTO;
import cn.iocoder.yudao.module.carbon.api.emissionfactor.dto.EmissionFactorRespDTO;
import cn.iocoder.yudao.module.carbon.controller.admin.emissionfactor.vo.*;
import cn.iocoder.yudao.module.carbon.dal.dataobject.emissionfactor.EmissionFactorDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 碳排放因子 Convert
 *
 * @author wcl
 */
@Mapper
public interface EmissionFactorConvert {

    EmissionFactorConvert INSTANCE = Mappers.getMapper(EmissionFactorConvert.class);

    EmissionFactorDO convert(EmissionFactorCreateReqVO bean);

    EmissionFactorDO convert(EmissionFactorUpdateReqVO bean);

    EmissionFactorRespVO convert(EmissionFactorDO bean);

    EmissionFactorPageReqVO convert(EmissionFactorPageReqDTO reqDTO);

    List<EmissionFactorRespVO> convertList(List<EmissionFactorDO> list);

    List<EmissionFactorExcelVO> convertList02(List<EmissionFactorDO> list);

    PageResult<EmissionFactorRespVO> convertPage(PageResult<EmissionFactorDO> page);

    PageResult<EmissionFactorRespDTO> convertPage02(PageResult<EmissionFactorDO> page);
}
